<?php
//require_once 'Zend/Acl.php';
//require_once 'Zend/Acl/Role.php';
//require_once 'Zend/Acl/Resource.php';

class MyAcl extends Zend_Acl
{
    public function __construct(Zend_Auth $auth)
    {

    	//PERFIS
        $this->addRole(new Zend_Acl_Role('guest'));
        $this->addRole(new Zend_Acl_Role('atendimento'), 'guest');
        $this->addRole(new Zend_Acl_Role('comercial'), 'guest');
        $this->addRole(new Zend_Acl_Role('financeiro'), 'atendimento');
        $this->addRole(new Zend_Acl_Role('gerente'), array('financeiro','comercial'));
        $this->addRole(new Zend_Acl_Role('cliente'), 'guest');
        $this->addRole(new Zend_Acl_Role('admin'));
    	
		//CONTROLLERS
		$this->add(new Zend_Acl_Resource('atividade'));
		$this->add(new Zend_Acl_Resource('agenda-sala'));
		$this->add(new Zend_Acl_Resource('ajuste-financeiro'));
		$this->add(new Zend_Acl_Resource('area-cliente'));
		$this->add(new Zend_Acl_Resource('atividade-empresarial'));
		$this->add(new Zend_Acl_Resource('banco'));
		$this->add(new Zend_Acl_Resource('carteira-cobranca'));
		$this->add(new Zend_Acl_Resource('cidade'));
		$this->add(new Zend_Acl_Resource('cobranca'));
		$this->add(new Zend_Acl_Resource('codigo-area-telefonia'));
		$this->add(new Zend_Acl_Resource('conciliacao-bancaria'));
		$this->add(new Zend_Acl_Resource('conta-corrente'));
		$this->add(new Zend_Acl_Resource('conta-voip'));
		$this->add(new Zend_Acl_Resource('contrato'));
		$this->add(new Zend_Acl_Resource('contrato-documento'));
		$this->add(new Zend_Acl_Resource('documento'));
		$this->add(new Zend_Acl_Resource('erro'));
		$this->add(new Zend_Acl_Resource('fisica'));
		$this->add(new Zend_Acl_Resource('gerar-extrato'));
		$this->add(new Zend_Acl_Resource('imprimir-nota-fiscal'));
		$this->add(new Zend_Acl_Resource('index'));
		$this->add(new Zend_Acl_Resource('indicacao'));
		$this->add(new Zend_Acl_Resource('juridica'));
		$this->add(new Zend_Acl_Resource('login'));
		$this->add(new Zend_Acl_Resource('mensagem-extrato'));
		$this->add(new Zend_Acl_Resource('menu'));
		$this->add(new Zend_Acl_Resource('modelo-documento'));
		$this->add(new Zend_Acl_Resource('modelo-nota-fiscal'));
		$this->add(new Zend_Acl_Resource('numero-voip'));
		$this->add(new Zend_Acl_Resource('parametro-boleto'));
		$this->add(new Zend_Acl_Resource('parte'));
		$this->add(new Zend_Acl_Resource('perfil'));
		$this->add(new Zend_Acl_Resource('pessoa'));
		$this->add(new Zend_Acl_Resource('plano'));
		$this->add(new Zend_Acl_Resource('pre-atendimento'));
		$this->add(new Zend_Acl_Resource('procedimento-atendimento'));
		$this->add(new Zend_Acl_Resource('proposta'));
		$this->add(new Zend_Acl_Resource('questoes-agendamento'));
		$this->add(new Zend_Acl_Resource('recado'));
		$this->add(new Zend_Acl_Resource('relatorio'));
		$this->add(new Zend_Acl_Resource('sala'));
		$this->add(new Zend_Acl_Resource('servico'));
		$this->add(new Zend_Acl_Resource('servico-utilizado'));
		$this->add(new Zend_Acl_Resource('tarifa-igpm'));
		$this->add(new Zend_Acl_Resource('tipo-contato'));
		$this->add(new Zend_Acl_Resource('tipo-endereco'));
		$this->add(new Zend_Acl_Resource('tipo-indicacao'));
		$this->add(new Zend_Acl_Resource('tipo-modelo-documento'));
		$this->add(new Zend_Acl_Resource('tipo-sala'));
		$this->add(new Zend_Acl_Resource('tipo-tarifa-telefonia'));
		$this->add(new Zend_Acl_Resource('uf'));
		$this->add(new Zend_Acl_Resource('unidade'));
		$this->add(new Zend_Acl_Resource('usuario'));
		
        //========= Recursos do GUEST ===================
        $this->allow('guest', 'login');
        $this->allow('guest', 'area-cliente');
		
        //========= Recursos do ATENDIMENTO =============
        $this->allow('atendimento', 'index');
        $this->allow('atendimento', 'atividade');
        $this->allow('atendimento', 'agenda-sala');
        $this->allow('atendimento', 'recado');
        $this->allow('atendimento', 'pre-atendimento');
        $this->allow('atendimento', 'procedimento-atendimento');
        $this->allow('atendimento', 'servico-utilizado');
        $this->allow('atendimento', 'tipo-sala', 'select-tipo-sala');
        $this->allow('atendimento', 'tipo-contato', 'select-tipo-contato');
        $this->allow('atendimento', 'tipo-endereco', 'select-tipo-endereco');
        $this->allow('atendimento', 'uf', 'select-uf');
        $this->allow('atendimento', 'menu', 'exibe');
        $this->allow('atendimento', 'questoes-agendamento', 'lista-questoes-agendamento');
        $this->allow('atendimento', 'contrato', array('index',
        											  'complete-codigo',
        											  'complete-nome',
        											  'complete-nome-novo',
        											  'recupera-contrato',
        											  'select-status-contrato',
        											  'tabela',
        											  'gerar-csv',
        											  'detalhar'));
        
        $this->allow('atendimento', 'servico', array( 'select-servico',
        											  'complete-nome',
        											  'complete-nome-novo'));
        
        $this->allow('atendimento', 'usuario', 'recupera-nomes-usuarios');
        $this->allow('atendimento', 'fisica', array('index','tabela','gerar-csv'));
		$this->allow('atendimento', 'juridica', array('index','tabela','gerar-csv'));
        $this->allow('atendimento', 'usuario', array( 'index','tabela','editar','alterar'));
        $this->allow('atendimento', 'perfil', 'select-perfil');
		
        //========= Recursos do FINANCEIRO ===============/
        $this->allow('financeiro', 'menu', 'exibe');
        $this->allow('financeiro', 'gerar-extrato');
        $this->allow('financeiro', 'mensagem-extrato');
        $this->allow('financeiro', 'cobranca');
        $this->allow('financeiro', 'conciliacao-bancaria');
        $this->allow('financeiro', 'ajuste-financeiro');
        $this->allow('financeiro', 'imprimir-nota-fiscal');
        $this->allow('financeiro', 'relatorio');
        $this->allow('financeiro', 'unidade', 'select-unidade');
        $this->allow('financeiro', 'tipo-indicacao', 'select-tipo-indicacao');
        $this->allow('financeiro', 'proposta', 'select-status-proposta');
        $this->allow('financeiro', 'tarifa-igpm');
        $this->allow('financeiro', 'carteira-cobranca', 'select-carteira-cobranca');
        $this->allow('financeiro', 'modelo-nota-fiscal', 'select-modelo-nota-fiscal');
        $this->allow('financeiro', 'plano', 'select-plano');
        $this->allow('financeiro', 'numero-voip', 'recupera-numeros-voip');
        $this->allow('financeiro', 'conta-voip', 'select-conta-voip');
        $this->allow('financeiro', 'juridica', 'recupera-responsavel');
        $this->allow('financeiro', 'pessoa', 'recupera-pessoa');
        $this->allow('financeiro', 'modelo-documento', 'select-modelo-documento');
	
        $this->allow('financeiro', 'contrato', array( 'documentos',
        											  'incluir-documentos',
        											  'reativar',
        											  'suspender',
        											  'renovar',
        											  'gerar-pdf',
        											  'montar-pdf',
        											  'select-dias-pagamento',
        											  'select-status-contrato',
        											  'tabela-vencendo',
        											  'tabela-vencidos'));
	
        
        //========= Recursos do COMERCIAL ================
        $this->allow('comercial', 'index');
        $this->allow('comercial', 'atividade');
        $this->allow('comercial', 'recado');
        $this->allow('comercial', 'pre-atendimento');
        $this->allow('comercial', 'procedimento-atendimento');
        $this->allow('comercial', 'tipo-contato', 'select-tipo-contato');
        $this->allow('comercial', 'tipo-endereco', 'select-tipo-endereco');
        $this->allow('comercial', 'uf', 'select-uf');
        $this->allow('comercial', 'cidade', 'select-cidade');
        $this->allow('comercial', 'menu', 'exibe');
        $this->allow('comercial', 'proposta');
        $this->allow('comercial', 'usuario', array('select-usuario','recupera-nomes-usuarios'));
        $this->allow('comercial', 'plano', 'select-plano');
        $this->allow('comercial', 'tipo-indicacao', 'select-tipo-indicacao');
        $this->allow('comercial', 'indicacao', 'recupera-indicacoes');
        $this->allow('comercial', 'fisica');
        $this->allow('comercial', 'juridica');
        $this->allow('comercial', 'contrato');
        $this->allow('comercial', 'carteira-cobranca', 'select-carteira-cobranca');
        $this->allow('comercial', 'modelo-nota-fiscal', 'select-modelo-nota-fiscal');
        $this->allow('comercial', 'modelo-documento', 'select-modelo-documento');
        $this->allow('comercial', 'numero-voip', 'recupera-numeros-voip');
        $this->allow('comercial', 'conta-voip', 'select-conta-voip');
        $this->allow('comercial', 'pessoa', 'recupera-pessoa');
        $this->allow('comercial', 'unidade', 'select-unidade');
        $this->allow('comercial', 'parte', 'select-parte');
        $this->allow('comercial', 'usuario', array( 'index','tabela','editar','alterar'));
        $this->allow('comercial', 'perfil', 'select-perfil');
        
        
        //========= Recursos do GERENTE ================
        $this->allow('gerente', 'index');
        $this->allow('gerente', 'atividade');
        $this->allow('gerente', 'recado');
        $this->allow('gerente', 'pre-atendimento');
        $this->allow('gerente', 'procedimento-atendimento');
        $this->allow('gerente', 'proposta');
        $this->allow('gerente', 'fisica');
        $this->allow('gerente', 'juridica');
        $this->allow('gerente', 'contrato');
        $this->allow('gerente', 'tipo-contato', 'select-tipo-contato');
        $this->allow('gerente', 'tipo-endereco', 'select-tipo-endereco');
        $this->allow('gerente', 'uf', 'select-uf');
        $this->allow('gerente', 'menu', 'exibe');
        $this->allow('gerente', 'agenda-sala');
        $this->allow('gerente', 'servico-utilizado');
        $this->allow('gerente', 'gerar-extrato');
        $this->allow('gerente', 'mensagem-extrato');
        $this->allow('gerente', 'cobranca');
        $this->allow('gerente', 'conciliacao-bancaria');
        $this->allow('gerente', 'ajuste-financeiro');
        $this->allow('gerente', 'imprimir-nota-fiscal');
        $this->allow('gerente', 'relatorio');
        $this->allow('gerente', 'usuario', array( 'index',
        										  'tabela',
        										  'editar',
        										  'alterar'));
        $this->allow('gerente', 'perfil', 'select-perfil');
        
        //========= Recursos do CLIENTE =============
        $this->allow('cliente', 'index');
        $this->allow('cliente', 'area-cliente');
        $this->allow('cliente', 'gerar-extrato');
        $this->allow('cliente', 'agenda-sala');
        $this->allow('cliente', 'recado');
        $this->allow('cliente', 'tipo-sala');
        
        //========= Recursos do ADMIN ===============
        $this->allow('admin');
        

    }
}

?>